import service from '@/service/service'
const jweixin = require('jweixin-module')
import cacheHandler from '@/utils/cacheHandler'

// 'checkJsApi', //判断当前客户端版本是否支持指定JS接口
// 'updateAppMessageShareData', //分享朋友
// 'updateTimelineShareData', //分享朋友圈
// 'getLocation', //获取位置
// 'openLocation', //打开位置
// 'scanQRCode', //扫一扫接口
// 'chooseWXPay', //微信支付
// 'chooseImage', //拍照或从手机相册中选图接口
// 'previewImage', //预览图片接口
// 'uploadImage' //上传图片

// 初始化sdk配置
function getjsconfig(apis) {
  return new Promise(function(resolve, reject) {
    let wxCodeUrl = location.href
    if (cacheHandler.getSystemInfo().platform === 'ios') {
      // 如果是ios系统，取首次进入页地址
      wxCodeUrl = cacheHandler.getWxCodeUrl()
    }
    const request = {
      url: wxCodeUrl,
      apis: apis
    }
    service.getjsconfig(request).then((res) => {
      jweixin.config({
        debug: true,
        appId: res.appId,
        timestamp: res.timestamp,
        nonceStr: res.nonceStr,
        signature: res.signature,
        jsApiList: res.jsApiList // 需要使用的JS接口列表 
      })
      resolve(res)
    }).catch(err => {
      reject(err)
    })
  })
}

// 在需要定位页面调用getLocation
function getLocation() {
  return new Promise(function(resolve, reject) {
    const apis = '\\["getLocation"\\]'
    getjsconfig(apis).then((data) => {
      jweixin.ready(() => {
        jweixin.getLocation({
          type: 'gcj02', // 默认为wgs84的gps坐标，在国内尽量使用'gcj02'
          success: (res) => {
            resolve(res)
          },
          fail: (err) => {
            reject(err)
          }
        })
      })
    }).catch(err => {
      reject(err)
    })
  })
}
  
export default {
  getjsconfig,
  getLocation
}
